In a modern software development and operations system, software program code is pushed to production at a rapid pace. Maintaining stability of the system, while incorporating constant changes in the code, presents challenges. In a closed development environment, the risk of upsetting stability is minimized, since only experienced developers are working on the project and contributing code. Experienced developers will typically understand the implications of the code additions they are making and know how to test the code to minimize unintended side effects.
In a more open development environment, a crowd of inexperienced coders may contribute code modules to the operational system. Most companies do not allow untrusted code modules from inexperienced coders to be entered directly into their production systems, so as to prevent a poorly functioning code module from crashing the entire system. However, this delays the progress of the inexperienced coders and negates the immediate contributions that their code modules could make to the system. Tools are available that validate code syntax to ensure that a new code module functions without crashing or that the code follows certain syntactical requirements. Runtime profiling may help to find bottlenecks in the code, but does not provide context of the output of the code module when it is done.